package com.ruoyi.common.constant;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 艾付强
 */
public interface BusinessConstant {


    interface DeptOrgNo{

        /**
         *  考核督察处
         */
        String InspectionAssessmentDepartment = "01610000000734000";
    };

    /** 活动重要性 */
    interface ActivityImportance{
        String LOW = "一般";
        String HIGH = "重要";
    }

    /**
     * 微信模板消息id
     */
    List<String> APP_ID_LIST = List.of("40204201-c737-456b-a2a5-2fcc78a035c0" //督帮系统
    );

    /**
     * 微信模板消息id
     */
    interface WX_TEMPLATE_ID {
        /**
         * 新工单通知
         */
        String NEW_WORK_ORDER = "zO36M_MwXOVm8ny6CtRuN3bMJpCL990hUlgonoa6BDc";
    }

    /**
     * 自定义表单元素类型
     */
    interface ElementType {
        String SELECT = "select"; //下拉框
        String TREE_SELECT = "tree-select"; //下拉框
        String SWITCH = "switch"; //开关
        String RADIO = "radio"; //单选
        String CHECKBOX = "checkbox";
    }

    /**
     * 专家级别
     */
    public interface ExpertLevel {
        /**
         * 普通
         */
        String ORDINARY = "普通";

        /**
         * 高级
         */
        String SENIOR = "高级";

    }

    /**
     * 微信appid
     */
    interface WX_APPID {
        String WX_APPID = "wx2368a9d43cdc3e34";
    }

    /**
     * 自定义数据类型
     */
    interface CustomerDataType {
        String BACK_SYSTEM = "后台系统"; //后台系统
    }

    /**
     * 审核状态
     */
    interface AuditStatus {
        /**
         * 待提交审核
         */
        String WAIT_SUBMIT_AUDIT = "待提交审核";
        /**
         * 待审核
         */
        String AUDITING = "待审核";
        /**
         * 审核通过
         */
        String PASS = "审核通过";
        /**
         * 退回
         */
        String BACK = "退回";
        /**
         * 驳回
         */
        String REJECT = "驳回";

        /**
         * 是
         */
        String YES = "是";

        /**
         * 驳回
         */
        String NO = "否";

    }


    /**
     * 专家录入方式
     */
    interface ExpertEntryMethod {
        /**
         * 专家注册自行登记
         */
        String FRONT = "专家注册";
        /**
         * 后台增加
         */
        String BACK = "后台增加";

    }


    /**
     * 用户类型
     */
    interface UserType {
        /**
         * 系统用户
         */
        String SYSTEM = "00";
        /**
         * 企业用户
         */
        String ENTERPRISE = "01";
        /**
         * 供应商管理员
         */
        String SUPPLIER_MANAGER = "02";
        /**
         * 供应商工人
         */
        String SUPPLIER_WORKER = "03";
        /**
         * 客户用户
         */
        String CLIENT = "04";
    }

    /**
     * 流程类型
     */
    interface FlowType {
        /**
         * 专家注册工作流
         */
        String EXPERT_REGISTRATION_FIRST = "ExpertRegistrationFirst";
        /**
         * 专家注册工作流
         */
        String EXPERT_REGISTRATION_SECOND = "ExpertRegistrationSecond";
        /**
         * 专家冻结
         */
        String EXPERT_FREEZE = "ExpertFreeze";
        /**
         * 专家删除
         */
        String EXPERT_DELETE = "ExpertDelete";
        /**
         * 专家恢复冻结
         */
        String EXPERTS_RESTORE_FREEZE = "ExpertsRestoreFreeze";
        /**
         * 专家拉入黑名单
         */
        String EXPERTS_ADDED_TO_BLACKLIST = "ExpertsAddedToBlacklist";
        /**
         * 专家移除黑名单
         */
        String EXPERT_REMOVAL_FROM_BLACKLIST = "ExpertRemovalFromBlacklist";
        /**
         * 活动审核
         */
        String ACTIVITY_AUDIT = "ActivityAudit";
        /**
         * 活动建议审核
         */
        String ACTIVITY_PITFALL_AUDIT = "ActivityPitfallAudit";
        /**
         * 活动打分
         */
        String ACTIVITY_SCORE = "ActivityScore";
    }

    /**
     * 签名角色标识
     */
    interface SignRoleFlag {
        /**
         * 表单填写人员
         */
        String inputSigner = "inputSigner";
        /**
         * 活动分组组长
         */
        String groupLeader = "groupLeader";
        /**
         * 督察考核处韩琳
         */
        String checkDeptUser = "checkDeptUser";
        /**
         * 督察考核处领导
         */
        String checkDeptLeader = "checkDeptLeader";
        /**
         * 评分人处领导
         */
        String inputDeptLeader = "inputDeptLeader";
    }


    /**
     * 签名业务类型
     */
    interface SignBusinessType {

        String ACTIVITY_SCORE = "活动分组打分签字";
    }

    /**
     * Config key
     */
    interface ConfigKey {
        String EXPERT_REGISTER_USER = "sys.account.registerUser";
    }

    /**
     * 专家业务日志
     */

    interface ExpertBusinessLogType {
        /**
         * 业务
         */
        String BUSINESS = "专家";
        /**
         * 专家冻结
         */
        String FREEZE = "专家冻结";
        /**
         * 专家审核
         */
        String AUDIT = "专家审核";
        /**
         * 专家其他
         */
        String OTHER = "专家其他";

    }

    /**
     * BOOLEAN
     */

    interface BOOLEAN {
        /**
         * true
         */
        String TRUE = "true";
        /**
         * false
         */
        String FALSE = "false";


    }

    /**
     * 批量业务处理状态
     */

    interface BatchBusinessStatus {
        /**
         * 待提交审核
         */
        String WAIT_SUBMIT_AUDIT = "待提交审核";
        /**
         * 审核中
         */
        String AUDITING = "审核中";
        /**
         * 审核通过
         */
        String PASS = "审核通过";
        /**
         * 驳回
         */
        String REJECT = "驳回";

        /**
         * 待处理
         */
        String WAIT_HANDLE = "待处理";

        /**
         * 处理完成
         */
        String HANDLE_FINISH = "处理完成";


    }

    /**
     * 专家处理状态
     */

    interface ExpertHandleStatus {

        /**
         * 不是
         */
        String NO = "否";
        /**
         * 未处理
         */
        String WAIT_HANDLE = "未处理";
        /**
         * 是
         */
        String YES = "是";
    }


    /**
     * 审核状态
     */
    interface ExpertRegisterAuditStatus {
        /**
         * 待提交
         */
        String WAIT_SUBMIT = "待提交初审";
        /**
         * 待初审受理
         */
        String FIRST_WAIT_HANDLE = "待初审受理";
        /**
         * 待审核
         */
        String FIRST_AUDITING = "初审审核中";
        /**
         * 驳回
         */
        String REJECT = "驳回";

        /**
         * 待初审受理
         */
        String SECOND_WAIT_HANDLE = "待二审受理";
        /**
         * 待审核
         */
        String SECOND_AUDITING = "二审审核中";
        /**
         * 审核通过
         */
        String SECOND_PASS = "审核通过";

    }
    /**
     * 批量业务处理类型
     */

    interface BatchBusinessType {
        /**
         * 专家注册初审
         */
        String EXPERT_REGISTER_FIRST = "专家注册初审";
        /**
         * 专家注册二审
         */
        String EXPERT_REGISTER_SECOND = "专家注册二审";
        /**
         * 专家冻结
         */
        String EXPERT_FREEZE = "专家冻结";
        /**
         * 专家删除
         */
        String EXPERT_DELETE = "专家删除";
        /**
         * 专家恢复冻结
         */
        String EXPERTS_RESTORE_FREEZE = "专家恢复冻结";
        /**
         * 专家拉入黑名单
         */
        String EXPERTS_ADDED_TO_BLACKLIST = "专家拉入黑名单";
        /**
         * 专家移除黑名单
         */
        String EXPERT_REMOVAL_FROM_BLACKLIST = "专家移除黑名单";
        /**
         * 活动审核
         */
        String ACTIVITY_AUDIT = "活动审核";
        /**
         * 专家注册待提交初审
         */
        String EXPERT_REGISTER_WAIT_SUBMIT_AUDIT_FIRST = "专家注册待提交初审";
        /**
         * 专家注册待提交二审
         */
        String EXPERT_REGISTER_WAIT_SUBMIT_AUDIT_SECOND = "专家注册待提交二审";

    }


    /**
     * 活动业务日志
     */

    interface ActivityBusinessLogType {
        /**
         * 业务
         */
        String BUSINESS = "活动";
        /**
         * 活动其他
         */
        String OTHER = "活动其他";
        /**
         * 专家审核
         */
        String AUDIT = "活动审核";
        /**
         * 活动打分审核
         */
        String ACTIVITY_SCORE_AUDIT = "活动打分审核";

    }

    /**
     * 专家业务日志
     */

    interface ExpertPitfallLogType {
        /**
         * 业务
         */
        String BUSINESS = "专家建议";
        /**
         * 专家建议其他
         */
        String OTHER = "专家建议其他";
        /**
         * 专家审核
         */
        String AUDIT = "专家建议审核";

    }

    /**
     * 审核所有者表
     */

    interface AuditOwnerTable {
        /**
         * 专家
         */
        String EXPERT = "t_expert";
        /**
         * 活动建议
         */
        String ACTIVITY_PITFALL = "t_activity_pitfall";

    }

    /**
     * 活动专家抽取记录状态
     */
    interface ActivityExtractRecordStatus {
        /**
         * 未回复
         */
        String NO_REPLY = "未回复";
        /**
         * 同意
         */
        String AGREE = "同意";
        /**
         * 拒绝
         */
        String REJECT = "拒绝";
    }

    /**
     * 活动状态
     */
    interface ActivityStatus {
        /**
         * 草稿
         */
        String DRAFT = "草稿";
        /**
         * 待抽取专家
         */
        String WAIT_EXTRACT_EXPERT = "待抽取专家";
        /**
         * 待专家确认
         */
        String WAIT_EXPERT_CONFIRM = "待专家确认";

        /**
         * 待审核
         */
        String WAIT_AUDIT = "待审核";
        /**
         * 审核中
         */
        String AUDITING = "审核中";
        /**
         * 退回修改
         */
        String BACK = "退回";
        /**
         * 驳回
         */
        String REJECT = "驳回";
        /**
         * 执行中
         */
        String EXECUTING = "执行中";
        /**
         * 已完成
         */
        String FINISH = "已完成";
        /**
         * 取消
         */
        String CANCEL = "已取消";
    }

    /**
     * 审核类型
     */
    interface AuditType {
        //通过
        String PASS = "审核通过";
        //驳回
        String REJECT = "驳回";
        //退回修改
        String BACK = "退回";
    }

    /**
     * 字典类型
     */
    interface DictType {
        /**
         * 申请应急管理专家等级
         */
        String EXPERT_RANK = "t_expert_expert_rank";
        /**
         * 工作情况
         */
        String WORK_STATUS = "t_expert_work_status";
        /**
         * 学历
         */
        String EDUCATION_LEVEL = "educationLevel";
        /**
         * 专家级别
         */
        String EXPERT_LEVEL = "t_expert_level";
        /**
         * 民族
         */
        String NATIONALITY = "t_expert_nationality";
        /**
         * 性别
         */
        String SEX = "sys_user_sex";
        /**
         * 日薪
         */
        String DAILY_WAGE = "DailyWage";
        /**
         * 拒绝原因类型
         */
        String REJECTION_REASON_TYPE = "RejectionReasonType";

    }
}
